package com.ruoyi.iot.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 规则触发项对象 iot_rules_trigger_term
 *
 * @author ruoyi
 * @date 2025-03-28
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class IotRulesTriggerTerm extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 触发项ID
     */
    private Long termId;

    /**
     * 触发器ID
     */
    @Excel(name = "触发器ID")
    private Long triggerId;

    /**
     * 产品ID
     */
    @Excel(name = "产品ID")
    private Long productId;

    /**
     * 设备ID
     */
    @Excel(name = "设备ID")
    private Long deviceId;

    /**
     * 属性ID
     */
    @Excel(name = "属性ID")
    private Long attributeId;

    /**
     * 对比条件：
     * 等于 - equal
     * 小于 - less_than
     * 小于等于 - less_than_or_equal_to
     * 大于 - greater_than
     * 大于等于 - greater_than_or_equal_to
     * 包含 - contain
     * 范围 - range
     */
    @Excel(name = "对比条件")
    private String comparisonOperator;

    /**
     * 属性值/最大值
     */
    @Excel(name = "属性值/最大值")
    private String valueMax;

    /**
     * 最小值
     */
    @Excel(name = "最小值")
    private String valueMin;

    /**
     * 值集合
     */
    @Excel(name = "值集合")
    private String valueList;

    /**
     * 删除标志（0代表存在 2代表删除）
     */
    private String delFlag;

    /**
     * 产品名称
     */
    @TableField(exist = false)
    private String productName;
    /**
     * 设备名称
     */
    @TableField(exist = false)
    private String deviceName;

    /**
     * 属性名称
     */
    @TableField(exist = false)
    private String attributeName;

    /**
     * 属性编码
     */
    @TableField(exist = false)
    private String attributeCode;
}
